約 5,530,200 件
https://w.atwiki.jp/isoroku_be/pages/176.html
情報 作者名:YouTubeダウンロードし放題 引用元:なでしこプログラム掲示板「HTTPグループ」 http //nade.jp-pro.net/bbs/bbs2/cbbs.cgi?mode=al2 namber=1219 更新 2012/01/27 Cookie取得を更新 エラー防止の真偽グループを追加 ダウンロード 概要 五十六さんの作品「TCPクライアントでHTTPっぽいものセット」(以下TCPセット) (http //nade.jp-pro.net/bbs/bbs2/cbbs.cgi?mode=al2 namber=911 感謝!!) を元に機能拡張・改善したライブラリです。 目標としては、簡単に利用できて、且つ、カスタマイズ性に飛んだライブラリを目指して作成しました。 TCPセットとの大まかな違いとしては、 ・TCPデータ取得→新HTTPデータ取得 ・グループとして利用できる ・不同期ダウンロード ・Cookieの自動取得 ・POST命令の削除(無念 後日また挑戦してみます) などです。 解説 「新HTTPデータ取得」は「HTTPデータ取得」と同じ使い方です。 HTTPグループの基本的な使い方は、URLや保存先、オプションなどを指定してから、「開始」です。 注意 HTTPグループに関わる全ての命令を本体の下に記述してください 本来ならば、本体のみを別ファイルにして「取り込む」命令を使用するのが望まれます HTTPグループにFILEを設定した時点でダウンロードとみなされます 逆にFILEを空にすればデータ取得になります 「母艦の終了した時」のイベントのかわりに「母艦終了時」を使用してください 追加した機能 グループ化 動的作成による今までの命令も使えます ダウンロードの不同期化 「同期はオフ」とすることで不同期ダウンロードができます しかし、タイマーで無理やり内蔵しているので多少バグがあります 動的にHTTPグループを作成し、同時ダウンロードを行う事ができます 経過表示のイベント化 経過表示時の行動を何度も書き換えることができるようになりました Cookie自動取得機能(意外と便利) Internet ExplorerのCookieを取得します 自動ページ転送機能 Locationがあれば再取得するようになりました 自動エンコード機能(初期状態ではオフ) 推定残り時間 レジューム(途中ダウンロード)の簡潔化 レジュームを指定しなくても、FILEが存在すればレジュームが使用できるようになりました 逆に強制的に使用しないようにするには「レジューム機能はオフ」とします 削除した機能 POST命令 サンプル使う人はGET命令より少ないのと グループが混じると条件分岐が多くて負担が多いので 特に意識しなくてよいこと SizeOver機能 動画などの大容量のファイルを「データ取得」するとメモリが足りなくなってしまいます なので、ファイルが0.5MGバイト以上の場合は一時的に保存するようにしました チャンクによるバグの修正 チャンクは受信し終わってからまとめて処理するようにしました TCPクライアントと統合 「nakonet.nako」も取り込まなくて済みます (TCPクライアントと併用しても問題ありません) タイマーとの統合 タイマーを内蔵しているので、不同期ダウンロードの際にタイマーを作成する必要がありません TCP自動切断機能(重要) ライブラリ内部でHTTPグループを一括管理しているので、終了時にTCPを手動で切断する必要がなくなりました。 (nakonet.dllのバグでTCPを切断しないと終了できない問題を克服) メモリ節約のための変数宣言 変数を厳密に宣言することで余計なメモリを節約し、関数外の変数が影響することを防ぎます 計算を最小限かつ高速化 サンプル 本体の後ろに置いてください 新HTTP関数 「http //www.google.co.jp/」の新HTTPデータ取得を言う 一番簡単なグループ HTTP1とはHTTPグループ HTTP1=「http //www.youtube.com/」 HTTP1で開始 それを言う 高度な静的グループ 経過詳細テキストとは文字列 平均速度とは数値 受信サイズとは数値 受信予定サイズとは数値 経過バーとはプログレスバー 経過詳細とはラベル 経過詳細の位置=経過バーの右側 中止ボタンとはボタン HTTP2とはHTTPグループ 中止ボタンのクリックした時は~ HTTP2の有効切替#HTTP2の停止判定=1 HTTP2について URL=「http //www.youtube.com/」 #FILE=「{デスクトップ}sample.html」 #HEAD取得判定=1 #レジューム機能=0 #自動エンコード機能=1 経過表示時は~ 経過詳細テキスト=空 経過パーセント=HTTP2の経過パーセント 平均速度=(HTTP2の平均速度/1024/1024)を1で小数点切り上げ 瞬間速度=(HTTP2の瞬間速度/1024/1024)を1で小数点切り上げ 推定残り=HTTP2の推定残り 経過詳細テキストに「{経過パーセント}% 平均速度 {平均速度}MB/s 瞬間速度 {瞬間速度}MB/s 推定残り {推定残り}秒」を配列追加 受信サイズ=(HTTP2の受信Size/1024/1024)を1で小数点切り上げ 受信予定サイズ=(HTTP2の受信予定Size/1024/1024)を1で小数点切り上げ 経過詳細テキストに「受信 {受信サイズ}/{受信予定サイズ}MB」を配列追加 もし、経過パーセント=100ならば 経過詳細テキスト=「ダウンロード完了」 経過詳細=経過詳細テキスト 経過バー=HTTP2の経過パーセント レジューム機能=0 経過表示間隔=0.5 データとは文字列 データ=開始 データを言う IDを利用した動的グループの同時ダウンロード URL一覧とは配列 URL一覧に「http //www.google.co.jp/」を配列追加 URL一覧に「http //www.yahoo.co.jp/」を配列追加 URL一覧に「http //ja.wikipedia.org/wiki/」を配列追加#「http //ja.wikipedia.org/wiki/メインページ」に転送 URL一覧に「http //www.youtube.com/」を配列追加 URL一覧に「http //www.apple.com/jp/」を配列追加 URL一覧に「http //twitter.com/」を配列追加 IDとは数値 ID一覧とは配列 URL一覧で反復 ID=ActiveHTTPG_ID;ID一覧にIDを配列追加 Panel[回数]を経過パネルとして作成 Panel[回数]→Y=(回数-1)*60 Panel[回数]→テキスト1=対象 HTTPG[ID]→URL=対象 HTTPG[ID]→同期=0 HTTPG[ID]→タグ=回数 HTTPG[ID]→経過表示時は~ 経過率とは数値=自身→経過パーセント 受信S=(自身→受信Size/1024)を1で小数点切り上げ 平均速度とは数値=(自身→平均速度/1024/1024)を1で小数点切り上げ 瞬間速度とは数値=(自身→瞬間速度/1024/1024)を1で小数点切り上げ 推定残りとは数値=自身→推定残り Panel[自身→タグ]→値=経過率 TEXTとは文字列 TEXT[0]=「{経過率}% {受信S}kb」 TEXT[1]=「平均 {平均速度}MB/s 瞬間 {瞬間速度}MB/s 残り時間 {推定残り}秒」 もし、経過率=100ならば TEXT[1]=「ダウンロード完了」 Panel[自身→タグ]→テキスト2=TEXT 描画処理反映 ID一覧で反復;HTTPG[対象]→開始() ■経過パネル ・Y ←Y設定 ・値 ←値設定 ・テキスト1 ←テキスト1設定 ・テキスト2 ←テキスト2設定 ・値設定(S)~経過バーOBJ→値=S ・テキスト1設定(S)~ラベル1OBJ→テキスト=S ・テキスト2設定(S)~ラベル2OBJ→テキスト=S ・Y設定(S)~ 経過バーOBJ→Y=S それ=経過バーOBJ→右側;ラベル1OBJ→位置=それ それ=経過バーOBJ→下側;ラベル2OBJ→位置=それ ・パネルOBJ ・経過バーOBJ ・ラベル1OBJ ・ラベル2OBJ ・作る~ 経過バーOBJをプログレスバーとして作成 ラベル1OBJをラベルとして作成 ラベル2OBJをラベルとして作成 ラベル1OBJ→テキスト=空 それ=経過バーOBJ→右側;ラベル1OBJ→位置=それ ラベル2OBJ→テキスト=空 それ=経過バーOBJ→下側;ラベル2OBJ→位置=それ 本体 !変数宣言が必要 最大HTTP数とは数値=20 !HTTP_ID一覧とは配列 !__TCPIDとは数値=0 母艦終了時とは変数 母艦終了時は~何もしない 経過表示時イベントとは変数 経過表示時イベントは~ それ=自身→経過パーセント;母艦=それ 「%」 母艦の終了可能=0 母艦の閉じた時は~ 母艦終了時 HTTP_ID一覧で反復 エラー無視#一応エラー回避 「{対象}→終了時処理」をナデシコする 母艦の終了可能=1;おわり !初期UA=「HTTP」 !ERROR_TCP_403=「HTTP_403 "Forbidden" アクセスが認められていません。」 !ERROR_TCP_404=「HTTP_404 "NotFound" 見つかりません」 !ERROR_TIMEOUT=「HTTP_TIMEOUT タイムアウトしました」 !ERROR_STOP=「HTTP_STOP ユーザーによって停止されました」 ■真偽 ・値 ←値設定 →値取得 デフォルト ・{整数}F値 ・値設定(V)~ もし、(V=0)||(V=1)ならばF値=V 違えばエラー発生 ・値取得~_=F値 ■HTTPグループ # ↓読み書きOK # 基本オプション 初期化されないので毎回書き換えるように ・URL{="http //www.google.co.jp/"} ←URL設定 →URL取得 デフォルト ・FILE ←FILE設定 →FILE取得 ・{整数/*真偽値*/}HEAD取得判定 ・{イベント}経過表示時 # 高度なオプション ・{イベント}終了時イベント ・{イベント}エラー時#~エラーメッセージと言う ・{ハッシュ}オプション# 送信ヘッダに追加 UAなど ・{ハッシュ}Cookie ・{真偽}有効{=1} ←有効設定 →有効取得 ・{真偽}同期{=1} ・{真偽}Cookie自動取得{=1} # InternetExplorerのCookieを適用 ・{真偽}レジューム機能{=1} ・{真偽}自動ページ転送{=1} ・{真偽}自動エンコード機能# UTF8を自動でエンコード ・{数値}経過表示間隔{=0.1}# 経過表示する間隔(0.1秒ごと) ・{数値}瞬間速度幅{=5} ・{数値}TimeOut秒数{=5} ・{数値}HTTPVer{=1.1} ・ポケット ・タグ# 一時データの格納に使える # ↓読込のみOK ・FILEDATA ・HEAD # 経過表示に使える変数 ・{整数}通信中・{整数}受信回数 ・{整数}受信予定Size・{整数}受信Size ・{整数}開始時間 ・{整数}経過時間 ・{整数}経過パーセント ・{整数}推定残り# 秒 ・{数値}平均速度・{数値}瞬間速度# b/s ・{整数}瞬間Size・{整数}前時間・{整数}瞬間時間 ・{整数}TimeOut回数 #----- ・{ハッシュ}HEAD_HASH・{整数}StatusNum{=200} ・Pass ・送信HEAD・{整数}出力H ・{真偽}一回目判定{=1} ・{真偽}Download判定・{真偽}Chunk判定 ・{真偽}Resume判定・{真偽}SizeOver判定 ・{真偽}中断判定・{真偽}停止判定 ・Host{="www.google.co.jp"}・{整数}Port{=80} ・{整数}ID # フェイク ・{非公開}FURL ・URL取得~FURLで戻る ・{非公開}FFILE ・FILE取得~FFILEで戻る ・{非公開}F有効{=1} ・有効取得~F有効で戻る ・{非公開}Option ・{非公開}FERROR ←エラー設定 ・エラー設定(S)~エラーメッセージ=S;エラー時 #---------------------------------------------------------------- ・開始~ FILEDATA=空;HEAD=空;終了時処理#一応 Option=オプション もし、Option@「User-Agent」=空ならば、Option@「User-Agent」=初期UA もし、Option@「Host」=空ならば、Option@「Host」=Host もし、Cookie自動取得=1ならば、Cookie=FURLのCookie取得 もし、Cookie≠空ならば、Option@「Cookie」=Cookieの改行を「;」に置換 もし、Download判定=1ならば もし、(FFILEの存在=1)AND(レジューム機能=0)ならば FFILEをファイル完全削除 出力H=FFILEを「書」でファイルストリーム開く もし、FFILEの存在=1ならば、 Resume判定=1 受信Size=FFILEのファイルサイズ Option@「Range」=「bytes={受信Size}-」 出力Hで受信Sizeにファイルストリーム位置設定 送信HEAD=Optionを逆HTTPヘッダハッシュ変換("GET",Pass,HTTPVer);接続 もし、同期=0ならば TIMER_OBJ=VCL_CREATE(自身,名前,VCL_GUI_TIMER) VCL_SET(TIMER_OBJ,VCL_PROP_VALUE,経過表示間隔*1000) VCL_SET(TIMER_OBJ,VCL_PROP_ENABLED,1);戻る オンの間 メインループ もし、(通信中=0)AND(一回目判定=0)ならば抜ける (経過表示間隔)秒待つ メインループ後 もし、HEAD取得判定=1ならば、HEADで戻る 違えば、FILEDATAで戻る ・メインループ~ もし、停止判定=1ならば、終了時処理;FERROR=ERROR_STOP;戻る 経過表示時 もし、一回目判定=1ならば、 TimeOut回数に1を直接足す もし、(経過表示間隔*TimeOut回数) TimeOut秒数ならば 終了時処理;FERROR=ERROR_TIMEOUT;戻る 違えば、TimeOut回数=0 ・メインループ後~ 経過表示時 もし、Download判定=1ならば 出力Hで0にファイルストリーム位置設定 FILEDATA=出力Hで(0.5*1024*1024)をファイルストリーム読む 出力Hをファイルストリーム閉じる #自動エンコード機能 もし、自動エンコード機能=1ならば Typeとは文字列=HEAD_HASH@「Content-Type」 Typeを「^([^;]*);」で正規表現マッチ もし、抽出文字列[0]=「text/html」ならば Typeを「charset=([^\s]*)」で正規表現マッチ もし、抽出文字列[0]=「utf-8」ならば FILEDATA=FILEDATAを「UTF8」から「SJIS」へ文字コード変換 もし、Download判定=1ならば、FILEDATAをFFILEに保存 終了時イベント;終了時処理 ・終了時処理~ 通信中=0;切断 もし、TIMER_OBJ≠空ならば VCL_SET(TIMER_OBJ,VCL_PROP_ENABLED,0);TIMER_OBJ=空 もし、SizeOver判定=1ならば もし、出力Hのファイルストリームサイズ≠-1ならば 出力Hをファイルストリーム閉じる FFILEをファイル完全削除 Download判定=0;FILE=空; # 変数の初期化 一回目判定=1;TimeOut回数=0;SizeOver判定=0;停止判定=0; 受信回数=0;受信予定Size=0;受信Size=0;出力H=0; 経過パーセント=0;平均速度=0;瞬間速度=0; ・接続した時~ 通信中=1;開始時間=システム時間; 送信HEADを送信 ・受信した時~ 受信回数に1を直接足す 受信DATAとは文字列=受信 もし、一回目判定=1ならば 一回目判定=0 HEAD=受信DATAから「{~}{~}」まで切り取る もし、HEAD取得判定=1ならば、経過パーセント=100;通信中=0;切断;戻る HEAD_HASH=HEADをHTTPヘッダハッシュ変換 StatusNum=HEAD_HASH@「HTTP.Response」#正しい使いかたではない もし、StatusNum≠200ならば StatusNumで条件分岐 403ならば、経過パーセント=100;通信中=0;切断;FERROR=ERROR_TCP_403;戻る 404ならば、経過パーセント=100;通信中=0;切断;FERROR=ERROR_TCP_404;戻る 301ならば、HEAD_HASH@「Location」にTCP転送;戻る 302ならば、HEAD_HASH@「Location」にTCP転送;戻る 303ならば、HEAD_HASH@「Location」にTCP転送;戻る #レジュームで既にダウンロード完了しているとき/Rangeが不正な場合 416ならば、経過パーセント=100;通信中=0;切断;戻る 違えば、#StatusNumを言う もし、HEAD_HASH@「Content-Length」≠空ならば 受信予定Size=HEAD_HASH@「Content-Length」 もし、Resume判定=1ならば 受信予定Sizeに受信Sizeを直接足す もし、(Download判定=0)AND(受信予定Size (0.5*1024*1024))ならば FILE=「download_{テンポラリフォルダ}{開始時間}.bak」 出力H=FFILEを「書」でファイルストリーム開く SizeOver判定=1;Download判定=1; もし、HEAD_HASH@「Transfer-Encoding」=「chunked」ならば、Chunk判定=1 前時間=開始時間 瞬間Sizeに(受信DATAのバイト数)を直接足す 受信Sizeに(受信DATAのバイト数)を直接足す 経過時間=システム時間-開始時間 経過パーセント=INT(受信Size/受信予定Size*100) 平均速度=受信Size/経過時間*1000 もし、受信回数%瞬間速度幅=0ならば 瞬間時間=システム時間-前時間;前時間=システム時間 瞬間速度=瞬間Size/瞬間時間*1000;瞬間Size=0; 推定残り=INT((受信予定Size-受信Size)/平均速度) もし、Chunk判定=0ならば もし、Download判定=0ならば、FILEDATAに受信DATAを追加 違えば、出力Hで受信DATAをファイルストリーム書く もし、経過パーセント =100ならば 経過パーセント=100;通信中=0;切断;戻る; 違えば FILEDATAに受信DATAを追加 FILEDATAの(FILEDATAのバイト数-4)から1バイト抜き出す もし、それ=「0」ならば FILEDATA=FILEDATAからChunkData抽出 もし、Download判定=1ならば 出力HでFILEDATAをファイルストリーム書く FILEDATA=空 経過パーセント=100;通信中=0;切断;戻る ・URL設定(S)~ FURL=S Host=FURLからURLドメイン名抽出 もし、(FURLを「 (\d+)\/」で正規表現マッチ)≠空ならば、Port=抽出文字列[0] FURLを「http \/\/[^\/]+(\/.*)」で正規表現マッチ Pass=抽出文字列[0] ・FILE設定(S)~ FFILE=S もし、FFILE≠空ならば、Download判定=1 違えば、Download判定=0 ・有効設定(S)~ F有効=S もし、通信中=1ならば もし、F有効=1ならば もし、中断判定=1ならば 一回目判定=1;Resume判定=1;中断判定=0; Option@「Range」=「bytes={受信Size}-」 送信HEAD=Optionを逆HTTPヘッダハッシュ変換("GET",Pass,HTTPVer);接続 違えば、切断;中断判定=1 ・有効切替~ もし、F有効=0ならば、有効=1 違えば、有効=0 ・停止~停止判定=1 ・TCP転送(Sに)~ 切断 もし、自動ページ転送=0ならば、経過パーセント=100;通信中=0;戻る URL=S;一回目判定=1; もし、Option@「User-Agent」=空ならば、Option@「User-Agent」=初期UA もし、Option@「Host」=空ならば、Option@「Host」=Host もし、Cookie自動取得=1ならば、Cookie=FURLのCookie取得 もし、Cookie≠空ならば、Option@「Cookie」=Cookieの改行を「;」に置換 送信HEAD=Optionを逆HTTPヘッダハッシュ変換("GET",Pass,HTTPVer);接続 ・{非公開}TIMER_OBJ ・時満ちた時~ メインループ もし、(通信中=0)AND(一回目判定=0)ならば VCL_SET(TIMER_OBJ,VCL_PROP_ENABLED,0) メインループ後 ・受信データ・エラーメッセージ・{非公開}TCPID{=0}・{非公開}オブジェクト ・接続~TCP_COMMAND(TCPID,"connect","{Host} {Port}") ・切断~TCP_COMMAND(TCPID,"disconnect",0) ・送信(Sを)~TCP_COMMAND(TCPID, "send", S) ・受信~TCP_COMMAND(TCPID,"recv",0)で戻る ・作る~ TCPID=__TCPID;__TCPIDに1を直接足す; TCP_COMMAND(TCPID,"create",自身→名前) HTTP_ID一覧に名前を配列追加 ■TAG #タイマーに追加 ・タグ・ポケット ●逆HTTPヘッダハッシュ変換(SをMethod,Pass,HTTP_Ver) HEAD_TOPとは文字列=「{Method} {Pass} HTTP/{HTTP_Ver}」 HEAD_BTTOMとは配列 もし、S@「UA」≠空ならば、S@「UA」=S@「User-Agent」 Sの「UA」をハッシュキー削除 Sのハッシュキー列挙で反復 もし、S@対象≠空ならば、HEAD_BTTOMに「{対象} {S@対象}」を配列追加 「{HEAD_TOP}{~}{HEAD_BTTOM}{~}{~}」で戻る ●ChunkData抽出(Sの|Sから) 結果とは文字列;DATAとは文字列;ChunkSizeとは数値 オンの間 ChunkSize=INT(「${Sから改行まで切り取る}」) もし、(ChunkSize=「0」)OR(ChunkSize=空)ならば抜ける DATA=Sの1から(ChunkSize)バイト抜き出す 結果にDATAを追加 Sの1から(ChunkSize+2)バイト削除 もし、DATA=空ならば抜ける 結果で戻る ●Cookie取得(URLから|URLの|URLを) 結果とはハッシュ;Hとは数値; DATAとは文字列;DATA配列とは配列; URLを「http //(? www\.)*([^\/]+\/)」で正規表現マッチ Domainとは文字列=抽出文字列[0] 「{テンポラリフォルダ}\Cookies\*.txt」の全ファイル列挙で反復 H=対象を「読」でファイルストリーム開く DATA=Hで(対象のファイルサイズ)をファイルストリーム読む Hをファイルストリーム閉じる オンの間 DATAで「*」まで切り取る エラー監視#壊れている可能性があるので DATA配列=それの配列上下空行削除 エラーならば続ける もし、DATA配列=空ならば抜ける もし、DATA配列[2]=Domainならば 結果@DATA配列[0]=DATA配列[1] #結果=結果の改行を「;」に置換 結果で戻る HTTPGとは変数;TIMERとは変数; 新HTTPオプションとはハッシュ;HTTPG一覧とはハッシュ; ●HTTPG準備(S) (S)回 HTTPG[回数]をHTTPグループとして作成 HTTPG[回数]→ID=回数 HTTPG一覧@回数=0 ●新HTTPデータ取得(URLから|URLの|URLを) IDとは数値=ActiveHTTPG_ID HTTPG[ID]→URL=URL HTTPG[ID]→経過表示時は~経過表示時イベント HTTPG[ID]→オプション=新HTTPオプション HTTPG[ID]→FILE=空;HTTPG[ID]→HEAD取得判定=0; HTTPG[ID]→開始 HTTPG一覧@ID=0 HTTPG[ID]→FILEDATAで戻る ●新HTTPヘッダ取得(URLから|URLの|URLを) IDとは数値=ActiveHTTPG_ID HTTPG[ID]→URL=URL HTTPG[ID]→経過表示時は~経過表示時イベント HTTPG[ID]→オプション=新HTTPオプション HTTPG[ID]→FILE=空;HTTPG[ID]→HEAD取得判定=1; HTTPG[ID]→開始 HTTPG一覧@ID=0 HTTPG[ID]→HEADで戻る ●新HTTPダウンロード(URLをFILEへ|URLからFILEに) IDとは数値=ActiveHTTPG_ID HTTPG[ID]→URL=URL HTTPG[ID]→経過表示時は~経過表示時イベント HTTPG[ID]→オプション=新HTTPオプション HTTPG[ID]→FILE=FILE;HTTPG[ID]→HEAD取得判定=0; HTTPG[ID]→開始 HTTPG一覧@ID=0 HTTPG[ID]→HEADで戻る ●ActiveHTTPG_ID (最大HTTP数)回 もし、HTTPG一覧@回数=0ならば HTTPG一覧@回数=1;回数で戻る HTTPG準備(20)#最大20個のHTTPグループが利用できます !変数宣言が不要 総合 - 今日 - 人 昨日 - 人 名前 コメント
https://w.atwiki.jp/aikawahighspeed/pages/16.html
https //discord.gg/jy57aFbNKU
https://w.atwiki.jp/monaring/pages/69.html
httpビーム X ソーサリー httpビームは赤である。 クリーチャー1体かプレイヤー1人を対象とする。httpビームをプレイするために 3つ以上の赤マナが支払われている場合、httpビームはそれにX点のダメージを与える。 『模倣』や、『迎合』、『拝借』…… …『繋がりの力』は、節度と良心の下に使われる限りは決して悪とは言い切れないの。 ──錬金術師、シーナ・タウンゼント 第32版の 1を飾ったテンプレカード。 ベーシック第1版にも収録された、強力なX点火力。 《猛火》などの他のX点火力と違って“火種”が要らず、払ったマナがそのままダメージになる。 プレイコストが赤赤赤のトリプルシンボルとしてみても良いので、赤単のデッキでないとプレイが難しく、3マナ以上がプレイするための条件なので小回りが利きにくいのが弱点か… 赤マナが3つ以上必要で2点以下の火力は打てませんが、1点の底上げは嬉しい所。 それでもマナが出るデッキでは非常に強力で、マナがそのまま火力になるのはかなり強い事である。 httpビームという昔のカードとは別のカードとして扱われる ちなみにイラストは、アトリエの錬金術師シーナが前スレ(31版)のURLをビームとして打ち出しているAAで、 フレイバーテキストは しぃのアトリエ ~モナーブルグの錬金術師~ からの拝借。 サイクル ベーシック第1版の、呪文コストにXを含むソーサリー。レア度はいずれもネ申レア。 あぼ~ん ブラウザクラッシャー チートコード httpビーム ニラの詠唱
https://w.atwiki.jp/innovationstudio/pages/18.html
Twitter@innovationstudioまで問い合わせてください
https://w.atwiki.jp/niconico_mad/pages/26.html
http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878http //www.nicovideo.jp/watch/sm3849878vvv
https://w.atwiki.jp/tokachichukuchite/pages/25.html
+SA http //www.nicovideo.jp/watch/sm2483869 もじゃ姉さん http //www.nicovideo.jp/watch/sm4721990 てーれってーれっオナショウ軍♪ +その他 http //www.nicovideo.jp/watch/sm2953477 とかち元ネタ
https://w.atwiki.jp/lodungeon/pages/16.html
https //www.cave.co.jp/contact/
https://w.atwiki.jp/xybdl/pages/12.html
https //www.iisina.jp/index.php https //www.iisina.jp/index.phphttps //www.iisina.jp/index.phphttps //www.iisina.jp/index.php
https://w.atwiki.jp/macoto_mayu/pages/15.html
?php // PukiWiki - Yet another WikiWikiWeb clone // $Id pukiwiki.ini.php,v 1.140 2006/06/11 14 35 39 henoheno Exp $ // Copyright (C) // 2002-2006 PukiWiki Developers Team // 2001-2002 Originally written by yu-ji // License GPL v2 or (at your option) any later version // // PukiWiki main setting file ///////////////////////////////////////////////// // Functionality settings // PKWK_OPTIMISE - Ignore verbose but understandable checking and warning // If you end testing this PukiWiki, set 1 . // If you feel in trouble about this PukiWiki, set 0 . if (! defined( PKWK_OPTIMISE )) define( PKWK_OPTIMISE , 0); ///////////////////////////////////////////////// // Security settings // PKWK_READONLY - Prohibits editing and maintain via WWW // NOTE Counter-related functions will work now (counter, attach count, etc) if (! defined( PKWK_READONLY )) define( PKWK_READONLY , 0); // 0 or 1 // PKWK_SAFE_MODE - Prohibits some unsafe(but compatible) functions if (! defined( PKWK_SAFE_MODE )) define( PKWK_SAFE_MODE , 1); //define( PKWK_SAFE_MODE , 0); // PKWK_DISABLE_INLINE_IMAGE_FROM_URI - Disallow using inline-image-tag for URIs // Inline-image-tag for URIs may allow leakage of Wiki readers information // (in short, Web bug ) or external malicious CGI (looks like an image s URL) // attack to Wiki readers, but easy way to show images. if (! defined( PKWK_DISABLE_INLINE_IMAGE_FROM_URI )) define( PKWK_DISABLE_INLINE_IMAGE_FROM_URI , 1); //define( PKWK_DISABLE_INLINE_IMAGE_FROM_URI , 0); // PKWK_QUERY_STRING_MAX // Max length of GET method, prohibits some worm attack ASAP // NOTE Keep (page-name + attach-file-name) = PKWK_QUERY_STRING_MAX define( PKWK_QUERY_STRING_MAX , 1024); // Bytes, 0 = OFF // define( PKWK_QUERY_STRING_MAX , 640); // Bytes, 0 = OFF ///////////////////////////////////////////////// // Experimental features // Multiline plugin hack (See BugTrack2/84) // EXAMPLE(with a known BUG) // #plugin(args1,args2,...,argsN){{ // argsN+1 // argsN+1 // #memo(foo) // argsN+1 // }} // #memo(This makes #memo(foo) to this) // define( PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK , 1); // 1 = Disabled define( PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK ,0); // 1 = Disabled ///////////////////////////////////////////////// // Language / Encoding settings // LANG - Internal content encoding ( en , ja , or ...) define( LANG , ja ); // UI_LANG - Content encoding for buttons, menus, etc define( UI_LANG , LANG); // en for Internationalized wikisite ///////////////////////////////////////////////// // Directory settings I (ended with / , permission 777 ) // You may hide these directories (from web browsers) // by setting DATA_HOME at index.php. define( DATA_DIR , DATA_HOME . wiki/ ); // Latest wiki texts define( DIFF_DIR , DATA_HOME . diff/ ); // Latest diffs define( BACKUP_DIR , DATA_HOME . backup/ ); // Backups define( CACHE_DIR , DATA_HOME . cache/ ); // Some sort of caches define( UPLOAD_DIR , DATA_HOME . attach/ ); // Attached files and logs define( COUNTER_DIR , DATA_HOME . counter/ ); // Counter plugin s counts define( TRACKBACK_DIR , DATA_HOME . trackback/ ); // TrackBack logs define( PLUGIN_DIR , DATA_HOME . plugin/ ); // Plugin directory // 20070716 Spam_Filter /////////////////////////////////////////////// //define( SPAM_FILTER_COND , #useragent() or #filename() or #atag() or #ngreg() or (#onlyeng() and (#urlnum() or #uaunknown())) or #urlbl() ); define( SPAM_FILTER_COND , #ipcountry() or #urlnsbl() or #useragent() or #filename() or #atag() or #ngreg() or #onlyeng() or (#urlnum() and #uaunknown()) ); //define( SPAM_FILTER_COND , #ipcountry() or #urlnsbl() or #useragent() or #filename() or #atag() or #ngreg() or (#onlyeng() and (#urlnum() or #uaunknown())) or #urlbl() or #ipbl() ); define( PLUGIN_REF_URL_GET_IMAGE_SIZE , FALSE); define( SPAM_FILTER_ATAG_REG , /\[HTTP | \/a |\[\/url\]/i ); ///////////////////////////////////////////////// ///////////////////////////////////////////////// // Directory settings II (ended with / ) // Skins / Stylesheets define( SKIN_DIR , skin/ ); // Skin files (SKIN_DIR/*.skin.php) are needed at // ./DATAHOME/SKIN_DIR from index.php, but // CSSs(*.css) and JavaScripts(*.js) are needed at // ./SKIN_DIR from index.php. // Static image files define( IMAGE_DIR , image/ ); // Keep this directory shown via web browsers like // ./IMAGE_DIR from index.php. ///////////////////////////////////////////////// // Local time setting switch (LANG) { // or specifiy one case ja define( ZONE , JST ); define( ZONETIME , 9 * 3600); // JST = GMT + 9 break; default define( ZONE , GMT ); define( ZONETIME , 0); break; } ///////////////////////////////////////////////// // Title of your Wikisite (Name this) // Also used as RSS feed s channel name etc $page_title = Belle Isle Wiki ; // Specify PukiWiki URL (default auto) $script = http //example.com/pukiwiki/ ; // Shorten $script Cut its file name (default not cut) //$script_directory_index = index.php ; $script_directory_index = index.php ; // Site admin s name (CHANGE THIS) $modifier = MonMon ; // Site admin s Web page (CHANGE THIS) $modifierlink = http //example.com/pukiwiki/ ; // Default page name // $defaultpage = FrontPage ; // Top / Default page $defaultpage = Belle Isle Wiki ; // Top / Default page $whatsnew = RecentChanges ; // Modified page list $whatsdeleted = RecentDeleted ; // Removeed page list $interwiki = InterWikiName ; // Set InterWiki definition here $menubar = MenuBar ; // Menu ///////////////////////////////////////////////// // Change default Document Type Definition // Some web browser s bug, and / or Java apprets may needs not-Strict DTD. // Some plugin (e.g. paint) set this PKWK_DTD_XHTML_1_0_TRANSITIONAL. //$pkwk_dtd = PKWK_DTD_XHTML_1_1; // Default //$pkwk_dtd = PKWK_DTD_XHTML_1_0_STRICT; //$pkwk_dtd = PKWK_DTD_XHTML_1_0_TRANSITIONAL; //$pkwk_dtd = PKWK_DTD_HTML_4_01_STRICT; //$pkwk_dtd = PKWK_DTD_HTML_4_01_TRANSITIONAL; ///////////////////////////////////////////////// // Always output "nofollow,noindex" attribute $nofollow = 0; // 1 = Try hiding from search engines ///////////////////////////////////////////////// // PKWK_ALLOW_JAVASCRIPT - Allow / Prohibit using JavaScript //define( PKWK_ALLOW_JAVASCRIPT , 0); define( PKWK_ALLOW_JAVASCRIPT , 1); ///////////////////////////////////////////////// // TrackBack feature // Enable Trackback $trackback = 0; // Show trackbacks with an another window (using JavaScript) $trackback_javascript = 0; ///////////////////////////////////////////////// // Bodycache feature // enable bodycache or not // default true $enable_bodycache = true; // use bodycache as default. If it s false, // #bodycache(enable) is required per page. // default true $enable_bodycache_default = true; // If these (block) plugins are contained in page, bodycache will be disabled. // Users can increase this plugin list to control bodycache. // default array( ls2 , pcomment , include ); // $bodycache_disable_plugins = array( ls2 , pcomment , include ); // $bodycache_disable_plugins = array( ls2 , pcomment , include , sitesearch , table_edit , article ); $bodycache_disable_plugins = array( ls2 , areaedit ); ///////////////////////////////////////////////// ///////////////////////////////////////////////// // Referer list feature $referer = 0; ///////////////////////////////////////////////// // _Disable_ WikiName auto-linking // $nowikiname = 0; $nowikiname = 1; ///////////////////////////////////////////////// // AutoLink feature // AutoLink minimum length of page name $autolink = 0; // Bytes, 0 = OFF (try 8) ///////////////////////////////////////////////// // Enable Freeze / Unfreeze feature $function_freeze = 1; ///////////////////////////////////////////////// // Allow to use Do not change timestamp checkbox // (0 Disable, 1 For everyone, 2 Only for the administrator) // $notimeupdate = 1; $notimeupdate = 0; ///////////////////////////////////////////////// // Admin password for this Wikisite // Default always fail $adminpass = {x-php-md5}! ; // Sample //$adminpass = pass ; // Cleartext //$adminpass = {x-php-md5}1a1dc91c907325c69271ddf0c944bc72 ; // PHP md5() pass //$adminpass = {CRYPT}$1$AR.Gk94x$uCe8fUUGMfxAPH83psCZG/ ; // LDAP CRYPT pass //$adminpass = {MD5}Gh3JHJBzJcaScd3wyUS8cg== ; // LDAP MD5 pass //$adminpass = {SMD5}o7lTdtHFJDqxFOVX09C8QnlmYmZnd2Qx ; // LDAP SMD5 pass ///////////////////////////////////////////////// // Page-reading feature settings // (Automatically creating pronounce datas, for Kanji-included page names, // to show sorted page-list correctly) // Enable page-reading feature by calling ChaSen or KAKASHI command // (1 Enable, 0 Disable) $pagereading_enable = 0; // Specify converter as ChaSen( chasen ) or KAKASI( kakasi ) or None( none ) $pagereading_kanji2kana_converter = none ; // Specify Kanji encoding to pass data between PukiWiki and the converter $pagereading_kanji2kana_encoding = EUC ; // Default for Unix //$pagereading_kanji2kana_encoding = SJIS ; // Default for Windows // Absolute path of the converter (ChaSen) $pagereading_chasen_path = /usr/local/bin/chasen ; //$pagereading_chasen_path = c \progra~1\chasen21\chasen.exe ; // Absolute path of the converter (KAKASI) $pagereading_kakasi_path = /usr/local/bin/kakasi ; //$pagereading_kakasi_path = c \kakasi\bin\kakasi.exe ; // Page name contains pronounce data (written by the converter) $pagereading_config_page = config/PageReading ; // Page name of default pronouncing dictionary, used when converter = none $pagereading_config_dict = config/PageReading/dict ; ///////////////////////////////////////////////// // User definition $auth_users = array( // Username = password foo = foo_passwd , // Cleartext bar = {x-php-md5}f53ae779077e987718cc285b14dfbe86 , // PHP md5() bar_passwd hoge = {SMD5}OzJo/boHwM4q5R+g7LCOx2xGMkFKRVEx , // LDAP SMD5 hoge_passwd ); ///////////////////////////////////////////////// // Authentication method $auth_method_type= pagename ;// By Page name //$auth_method_type= contents ;// By Page contents ///////////////////////////////////////////////// // Read auth (0 Disable, 1 Enable) $read_auth = 0; $read_auth_pages = array( // Regex Username #HogeHoge# = hoge , #(NETABARE|NetaBare)# = foo,bar,hoge , ); ///////////////////////////////////////////////// // Edit auth (0 Disable, 1 Enable) $edit_auth = 0; $edit_auth_pages = array( // Regex Username #BarDiary# = bar , #HogeHoge# = hoge , #(NETABARE|NetaBare)# = foo,bar,hoge , ); ///////////////////////////////////////////////// // Search auth // 0 Disabled (Search read-prohibited page contents) // 1 Enabled (Search only permitted pages for the user) $search_auth = 0; ///////////////////////////////////////////////// // $whatsnew Max number of RecentChanges $maxshow = 60; // $whatsdeleted Max number of RecentDeleted // (0 = Disabled) $maxshow_deleted = 60; ///////////////////////////////////////////////// // Page names can t be edit via PukiWiki $cantedit = array( $whatsnew, $whatsdeleted ); ///////////////////////////////////////////////// // HTTP Output Last-Modified header // $lastmod = 0; $lastmod = 1; ///////////////////////////////////////////////// // Date format $date_format = Y-m-d ; // Time format $time_format = H i s ; ///////////////////////////////////////////////// // Max number of RSS feed $rss_max = 15; ///////////////////////////////////////////////// // Backup related settings // Enable backup $do_backup = 1; // When a page had been removed, remove its backup too? $del_backup = 0; // Bacukp interval and generation $cycle = 0; // Wait N hours between backup (0 = no wait) $maxage = 50; // Stock latest N backups // NOTE $cycle x $maxage / 24 = Minimum days to lost your data // 3 x 120 / 24 = 15 // Splitter of backup data (NOTE Too dangerous to change) define( PKWK_SPLITTER , ); ///////////////////////////////////////////////// // Command execution per update define( PKWK_UPDATE_EXEC , ); // Sample Namazu (Search engine) //$target = /var/www/wiki/ ; //$mknmz = /usr/bin/mknmz ; //$output_dir = /var/lib/namazu/index/ ; //define( PKWK_UPDATE_EXEC , //$mknmz . --media-type=text/pukiwiki . // -O . $output_dir . -L ja -c -K . $target); ///////////////////////////////////////////////// // HTTP proxy setting (for TrackBack etc) // Use HTTP proxy server to get remote data $use_proxy = 0; $proxy_host = proxy.example.com ; $proxy_port = 8080; // Do Basic authentication $need_proxy_auth = 0; $proxy_auth_user = username ; $proxy_auth_pass = password ; // Hosts that proxy server will not be needed $no_proxy = array( localhost ,// localhost 127.0.0.0/8 ,// loopback // 10.0.0.0/8 // private class A // 172.16.0.0/12 // private class B // 192.168.0.0/16 // private class C // no-proxy.com , ); //////////////////////////////////////////////// // Mail related settings // Send mail per update of pages $notify = 0; // Send diff only $notify_diff_only = 1; // SMTP server (Windows only. Usually specified at php.ini) $smtp_server = localhost ; // Mail recipient (To ) and sender (From ) $notify_to = to@example.com ;// To $notify_from = from@example.com ;// From // Subject ($page = Page name wll be replaced) $notify_subject = [PukiWiki] $page ; // Mail header // NOTE Multiple items must be divided by "\r\n", not "\n". $notify_header = ; ///////////////////////////////////////////////// // Mail POP / APOP Before SMTP // Do POP/APOP authentication before send mail $smtp_auth = 0; $pop_server = localhost ; $pop_port = 110; $pop_userid = ; $pop_passwd = ; // Use APOP instead of POP (If server uses) // Default = Auto (Use APOP if possible) // 1 = Always use APOP // 0 = Always use POP // $pop_auth_use_apop = 1; ///////////////////////////////////////////////// // Ignore list // Regex of ignore pages $non_list = ^\ ; // Search ignored pages $search_non_list = 1; ///////////////////////////////////////////////// // Template setting $auto_template_func = 1; $auto_template_rules = array( ((.+)\/([^\/]+)) = \2/template ); ///////////////////////////////////////////////// // Automatically add fixed heading anchor $fixed_heading_anchor = 1; ///////////////////////////////////////////////// // 見出しごとの編集を可能にする // (固有のアンカーが挿入されている見出し行にのみ有効) $fixed_heading_anchor_edit = 1; ///////////////////////////////////////////////// // Remove the first spaces from Preformatted text $preformat_ltrim = 1; ///////////////////////////////////////////////// // Convert linebreaks into br / $line_break = 0; ///////////////////////////////////////////////// // Use date-time rules (See rules.ini.php) $usedatetime = 1; ///////////////////////////////////////////////// // User-Agent settings // // If you want to ignore embedded browsers for rich-content-wikisite, // remove (or comment-out) all keitai settings. // // If you want to to ignore desktop-PC browsers for simple wikisite, // copy keitai.ini.php to default.ini.php and customize it. $agents = array( // pattern A regular-expression that matches device(browser) s name and version // profile A group of browsers // Embedded browsers (Rich-clients for PukiWiki) // Windows CE (Microsoft(R) Internet Explorer 5.5 for Windows(R) CE) // Sample "Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; sigmarion3)" (sigmarion, Hand-held PC) array( pattern = #\b(? MSIE [5-9]).*\b(Windows CE)\b# , profile = default ), // ACCESS "NetFront" / "Compact NetFront" and thier OEM, expects to be "Mozilla/4.0" // Sample "Mozilla/4.0 (PS2; PlayStation BB Navigator 1.0) NetFront/3.0" (PlayStation BB Navigator, for SONY PlayStation 2) // Sample "Mozilla/4.0 (PDA; PalmOS/sony/model crdb/Revision 1.1.19) NetFront/3.0" (SONY Clie series) // Sample "Mozilla/4.0 (PDA; SL-A300/1.0,Embedix/Qtopia/1.1.0) NetFront/3.0" (SHARP Zaurus) array( pattern = #^(? Mozilla/4).*\b(NetFront)/([0-9\.]+)# , profile = default ), // Embedded browsers (Non-rich) // Windows CE (the others) // Sample "Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320 )" (GFORT, NTT DoCoMo) array( pattern = #\b(Windows CE)\b# , profile = keitai ), // ACCESS "NetFront" / "Compact NetFront" and thier OEM // Sample "Mozilla/3.0 (AveFront/2.6)" ("SUNTAC OnlineStation", USB-Modem for PlayStation 2) // Sample "Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0" (DDI Pocket AirH" Phone by JRC) array( pattern = #\b(NetFront)/([0-9\.]+)# , profile = keitai ), array( pattern = #\b(CNF)/([0-9\.]+)# , profile = keitai ), array( pattern = #\b(AveFront)/([0-9\.]+)# , profile = keitai ), array( pattern = #\b(AVE-Front)/([0-9\.]+)# , profile = keitai ), // The same? // NTT-DoCoMo, i-mode (embeded Compact NetFront) and FOMA (embedded NetFront) phones // Sample "DoCoMo/1.0/F501i", "DoCoMo/1.0/N504i/c10/TB/serXXXX" // c以降は可変 // Sample "DoCoMo/2.0 MST_v_SH2101V(c100;TB;W22H12;serXXXX;iccxxxx)" // ()の中は可変 array( pattern = #^(DoCoMo)/([0-9\.]+)# , profile = keitai ), // Vodafone s embedded browser // Sample "J-PHONE/2.0/J-T03"// 2.0は"ブラウザの"バージョン // Sample "J-PHONE/4.0/J-SH51/SNxxxx SH/0001a Profile/MIDP-1.0 Configuration/CLDC-1.0 Ext-Profile/JSCL-1.1.0" array( pattern = #^(J-PHONE)/([0-9\.]+)# , profile = keitai ), // Openwave(R) Mobile Browser (EZweb, WAP phone, etc) // Sample "OPWV-SDK/62K UP.Browser/6.2.0.5.136 (GUI) MMP/2.0" array( pattern = #\b(UP\.Browser)/([0-9\.]+)# , profile = keitai ), // Opera, dressing up as other embedded browsers // Sample "Mozilla/3.0(DDIPOCKET;KYOCERA/AH-K3001V/1.4.1.67.000000/0.1/C100) Opera 7.0" (Like CNF at keitai -mode) array( pattern = #\b(? DDIPOCKET|WILLCOM)\b.+\b(Opera) ([0-9\.]+)\b# , profile = keitai ), // Planetweb http //www.planetweb.com/ // Sample "Mozilla/3.0 (Planetweb/v1.07 Build 141; SPS JP)" ("EGBROWSER", Web browser for PlayStation 2) array( pattern = #\b(Planetweb)/v([0-9\.]+)# , profile = keitai ), // DreamPassport, Web browser for SEGA DreamCast // Sample "Mozilla/3.0 (DreamPassport/3.0)" array( pattern = #\b(DreamPassport)/([0-9\.]+)# , profile = keitai ), // Palm "Web Pro" http //www.palmone.com/us/support/accessories/webpro/ // Sample "Mozilla/4.76 [en] (PalmOS; U; WebPro)" array( pattern = #\b(WebPro)\b# , profile = keitai ), // ilinx "Palmscape" / "Xiino" http //www.ilinx.co.jp/ // Sample "Xiino/2.1SJ [ja] (v. 4.1; 153x130; c16/d)" array( pattern = #^(Palmscape)/([0-9\.]+)# , profile = keitai ), array( pattern = #^(Xiino)/([0-9\.]+)# , profile = keitai ), // SHARP PDA Browser (SHARP Zaurus) // Sample "sharp pda browser/6.1[ja](MI-E1/1.0) " array( pattern = #^(sharp [a-z]+ browser)/([0-9\.]+)# , profile = keitai ), // WebTV array( pattern = #^(WebTV)/([0-9\.]+)# , profile = keitai ), // Desktop-PC browsers // Opera (for desktop PC, not embedded) -- See BugTrack/743 for detail // NOTE Keep this pattern above MSIE and Mozilla // Sample "Opera/7.0 (OS; U)" (not disguise) // Sample "Mozilla/4.0 (compatible; MSIE 5.0; OS) Opera 6.0" (disguise) array( pattern = #\b(Opera)[/ ]([0-9\.]+)\b# , profile = default ), // MSIE Microsoft Internet Explorer (or something disguised as MSIE) // Sample "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" array( pattern = #\b(MSIE) ([0-9\.]+)\b# , profile = default ), // Mozilla Firefox // NOTE Keep this pattern above Mozilla // Sample "Mozilla/5.0 (Windows; U; Windows NT 5.0; ja-JP; rv 1.7) Gecko/20040803 Firefox/0.9.3" array( pattern = #\b(Firefox)/([0-9\.]+)\b# , profile = default ), // Loose default Including something Mozilla array( pattern = #^([a-zA-z0-9 ]+)/([0-9\.]+)\b# , profile = default ), array( pattern = #^# , profile = default ),// Sentinel ); ?
https://w.atwiki.jp/api_programming/pages/104.html
下位ページ Content HTTP通信文字化けが起きた パラメータの出力 レスポンスの「確認」 basic 認証 HTTP通信 接続先のURLへ情報を送信し、結果を保存する - @IT java.net.URL HttpURLConnection URLのインスタンスを作成。ここで接続先を指定する。 URLのインスタンスのopenConnectionで接続HttpURLConnectionを作成 パラメータはOutputStreamで出力するJavaによるHTTPリクエスト時のパラメータの渡し方 getResponceMessage()でレスポンスのボディを受け取る disconnect()で通信終了 URL url = new URL(strURL); HttpURLConnection con = (HttpURLConnection)url.openConnection(); connection.setDoOutput(true); connection.setUseCashes(false); connection.setRequestMethod("POST"); // 通信方法にPOSTを指定 // パラメータ送信 OutputStream os = uc.getOutputStream(); // POST用のOutputStreamを取得 PrintStream ps = new PrintStream(os); String postStr = "a=1 b=2 c=3"; ps.print(postStr);// データをPOSTする ps.close(); // 受信 InputStream is = uc.getInputStream(); // POSTした結果を取得 BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String s; while ((s = reader.readLine()) != null) { System.out.println(s); reader.close(); uc.disconnect(); } 文字化けが起きた しばらく何事もなかったのに、Toodledoで新しいタスクを作成する処理を行っているときに、iPhone経由でのタスク登録にて文字化けが発生。(iPhone以外では、日本語のタスクを作成しなかった、とかではないと思うが。。。) アラートで表示 OK サーバでの受取での表示 OK Toodledo での受取 NG なので、servlet→toodledoの送信でだめ?っぽい。 文字コードをセットできる場所として PrintStream 生成時に UTF-8 を追加 [[PrintStream(java.io.OutputStream, boolean, java.lang.String) https //docs.oracle.com/javase/jp/6/api/java/io/PrintStream.html#PrintStream(java.io.OutputStream, boolean, java.lang.String)]] で、正常動作(文字化け回避)になった。 パラメータの出力 パラメータはOutputStreamで出力する (HttpURLConnection).getOutputStream でもOutputStreamはバイト文字列で表記とか、使いづらい。 当初、PrintWriterクラスを使っていたが、日本語を使う必要が出た際に、文字化けで詰まったので、 OutputStreamWriterクラスを使うようにした。 OutputStreamWriter osw = new OutputStreamWriter(connection.gerOutputStream(),"UTF-8"); osw.write(str); osw.close(); OutputStreamWriter PrintWriterを使うのが便利。 JavaによるHTTPリクエスト時のパラメータの渡し方 レスポンスの「確認」 System.err.println(httpcon.getResponseCode()) // 戻り値はint System.err.println(httpcon.getResponseMessage()) getResponseCode() getResponseMessage() HTTPステータスコード - Wikipedia basic 認証 http //x68000.q-e-d.net/~68user/net/java-http-url-connection-2.html https //developer.android.com/reference/android/util/Base64.html http //www.programing-style.com/android/android-api/android-basic-authentication/ 正式な?方法があるらしいが、代替的な方法で、client_id と client_secret をパラメータとして渡す方法もあるらしい。